2
תגובות
באקספלורר לדוגמא, אין פונקציית getElementsByClassName
רציתי לדעת מה נהוג:
לצור את המתודה כך:
או כך, בלי להוסיף מתודות לאובייקטים של הדפדפן:
רציתי לדעת מה נהוג:
לצור את המתודה כך:
function myFunction(className){
//code...
}
if(!document.getElementsByClassName){
docment.getElementsByClassName=myFunction
}
if(!Node.prototype.getEleemntsByClassName){
Node.prototype.getElementsByClassName=myFunction
}
//code...
}
if(!document.getElementsByClassName){
docment.getElementsByClassName=myFunction
}
if(!Node.prototype.getEleemntsByClassName){
Node.prototype.getElementsByClassName=myFunction
}
או כך, בלי להוסיף מתודות לאובייקטים של הדפדפן:
function myFunction(node,className){
if(node==document&&document.getElementsByClassName){
return document.getElementsByClassName(className);
}
else if(node.nodeType==1&&Node.prototype..getElementsByClassName){
return node.getElementsByClassName(className);
}
else{
///code...
}
}
if(node==document&&document.getElementsByClassName){
return document.getElementsByClassName(className);
}
else if(node.nodeType==1&&Node.prototype..getElementsByClassName){
return node.getElementsByClassName(className);
}
else{
///code...
}
}
2 תשובות
ענה
iiddaannyy
ב
24 ליוני 2012
#
נהוג להשתמש בספריות מוכנות (דוגמת jquery).
אבל זה לא חשוב איך תעשה. הוספת המתודה לאובייקט document יכול להיות יותר נוח:
document.prototype.getElementsByClassName = function(className) {
...
};
...
};
ענה
phpguide_user
ב
24 ליוני 2012
#
אני יודע, אבל אני מנסה ללמוד ללמוד JS ברמה גבוהה, ולהשתמש בJQלא מאפשר לך ללמוד דברים מסוימים, כמו השאלה הזו.
אני יודע שהשיטה השנייה יותר נוחה, פשוט חששתי שלא נהוג לערוך אובייקטים שהדפדפן יצר.
אבל אם זה בסדר וזה יותר קל, נראה שאין הרבה התלבטות...
תודה רבה!